Touch gesture control of video playback

ABSTRACT

A method of touch gesture control of video playback is discloses. The method includes providing a video item for playback The method also receives an indication of a touch gesture made by a user of mobile user device. The method further determines whether the touch gesture is a swipe gesture within a portion of a user interface (UI) including a media player to play the video item. The method also moves the playback of the video item from a first point in time to a second point in time by a predetermined amount of time in response to determining the touch gesture is the swipe gesture within the portion of the UI comprising the media player.

TECHNICAL FIELD

This disclosure relates to the field of content sharing platforms and,in particular, controlling the display of video items on a user deviceusing touch gestures.

BACKGROUND

Social networks connecting via the Internet allow users to connect toand share information with each other. Many social networks include acontent sharing aspect that allows users to upload, view, and sharecontent, such as video items, image items, audio items, and so on. Otherusers of the social network may comment on the shared content, discovernew content, locate updates, share content, and otherwise interact withthe provided content. The shared content may include content fromprofessional content creators, e.g., movie clips, TV clips, and musicvideos, as well as content from amateur content creators, e.g., videoblogging and short original videos.

The consumption of content, such as video items, using content sharingplatforms is increasingly being performed on user devices, such asmobile devices. A user device may include a touchscreen. A touchscreenmay refer to a display screen that includes an input device, integratedwith the display screen, to receive touch-based inputs from a user andcontrol the user device responsive to the touch-based inputs. Forexample, a user may use a touch gesture as an input to control themobile device.

SUMMARY

The following is a simplified summary of the disclosure in order toprovide a basic understanding of some aspects of the disclosure. Thissummary is not an extensive overview of the disclosure. It is intendedto neither identify key or critical elements of the disclosure, nordelineate any scope of the particular implementations of the disclosureor any scope of the claims. Its sole purpose is to present some conceptsof the disclosure in a simplified form as a prelude to the more detaileddescription that is presented later.

In one implementation, a method for controlling playback of a video itemis disclosed. The method includes providing a video item for playback ina portion of a user interface (UI) of an application executed on a userdevice. The portion of the user interface includes a media player toplay the video item. The method further includes monitoring user inputto a touchscreen of the user device for a touch gesture. The method alsoincludes receiving an indication of a touch gesture made by a user ofthe user device. The method continues by determining whether the touchgesture is a swipe gesture within the portion of the UI that includesthe media player. The method moves the playback of the video item from afirst point in time to a second point in time by a predetermined amountof time in response to determining the touch gesture is a swipe gesturewithin the portion of the UI comprising the media player.

In another implementation, determining whether the touch gesture is theswipe gesture within the portion of the UI that includes the mediaplayer includes determining that the touch gesture is the swipe gestureand determining whether a start point of the swipe gesture is locatedwithin the media player.

In other implementation, determining whether the touch gesture is theswipe gesture within the portion of the UI comprising the media playerincludes determining the touch gesture corresponds to a swipe rightgesture or a swipe left gesture starting on the portion of the UIdisplaying video item.

In one implementation, moving the playback of the video item from thefirst point in time to the second point in time by the predeterminedamount of time includes forwarding the video item the predeterminedamount of time in response to a swipe right gesture or rewinding thevideo item the predetermined amount of time in response to a swipe leftgesture.

In another implementation, moving playback of the video item from thefirst point in time to the second point in time by the predeterminedamount of time includes determining a length of the video item. Themethod further includes responsive to determining that the length of thevideo item is less than a threshold length, setting the predeterminedamount of time to a first amount of time to move the playback of thevideo item. The method also includes responsive to determining that thelength of the video is greater to or equal the threshold length, settingthe predetermined amount of time to a second amount of time to move theplayback of the video item. The second amount of time is greater thanthe first amount of time. In still another implementation, thepredetermined amount of time the playback of the video is moved is asingle fixed time for different video items and independent of thelength of the different video items.

In other implementation, the method includes determining that the touchgesture is a swipe gesture not within the portion of the UI thatincludes the media player. The method further navigates to another videoitem in response to determining the touch gesture is the swipe gesturenot within the portion of the UI comprising the media player.

In one implementation, determining that the touch gesture is the swipegesture not within the portion of the UI including the media playerincludes determining the touch gesture corresponds to a swipe rightgesture or a swipe left gesture starting on an edge portion of the UI.The edge portion is adjacent to and located outside the media player.

In still another implementation, navigating to another video itemincludes proceeding to a next video item in response to a swipe leftgesture starting on an edge portion of the UI. The method furtherincludes proceeding to a prior video item in in response to a swiperight gesture starting on the edge portion of the UI.

In additional implementations, one or more processing devices forperforming the operations of the above described implementations aredisclosed. Additionally, in implementations of the disclosure, anon-transitory computer readable storage medium stores instructions forperforming the operations of the described implementations. Also inother implementations, systems for performing the operations of thedescribed implementations are also disclosed

DESCRIPTION OF DRAWINGS

FIG. 1A is a block diagram illustrating a system architecture, inaccordance with one implementation of the disclosure.

FIG. 1B is a block diagram illustrating a system architecture thatincludes a content sharing platform for providing video items, inaccordance with another implementation of the disclosure.

FIG. 2 is an example user interface presented on a mobile device, inaccordance with an implementation of the disclosure.

FIG. 3 is another example user interface presented on a user device, inaccordance with another implementation of the disclosure.

FIG. 4 is a flow diagram illustrating a method of touch gesture controlof video playback, in accordance to some implementation of thedisclosure.

FIG. 5 is a block diagram illustrating an exemplary computer system,according to some implementations.

DETAILED DESCRIPTION

A media player on a user device, such as a mobile device, may be used todisplay a video item and may include various user interface (UI)elements (e.g., buttons, icons, etc.) to control playback of the videoitem and other UI elements to move from one video item to another videoitem. For example, the media player may include a UI element known as ascrubber to forward or rewind a video item. A scrubber may berepresented by an icon that can be moved by a user to forward or rewinda video item proportionate to the distance the scrubber is moved in arespective direction. In another example, a media player may include aUI element (e.g., a button) to move from a current video item to anothervideo item. Controlling the UI elements of the media player on atouchscreen of a mobile device may be particularly difficult andcumbersome due to size limitations of the touchscreen and the UIelements, in combination with a relatively large touch object, such as afinger. In one example, a user may have difficulty locating the buttonto move from one video item to another video item. In another example, auser may have difficulty not only locating a scrubber with a finger butalso may have difficulty moving the scrubber a precise distance toforward or rewind the video item a desired amount.

Aspects of the present disclosure address the above-mentioned and otherdeficiencies by defining a set of gestures that simplify moving to aprecise point in the video during the playback.

In one implementation, an application (referred to herein as a mediaviewer) executed on user device, such as a mobile device, provides avideo item for playback in a portion of a user interface (UI) presentedon the screen (touchscreen) of the mobile device. The portion of theuser interface includes a media player playing the video item. The mediaviewer may monitor the touchscreen of the mobile device for swipegestures made by a user of the mobile device. A swipe gesture may referto a user's touch that has a particular direction but no on-screentarget.

Upon detecting a swipe gesture of the user, the media viewer candetermine whether the swipe gesture is within a portion of the userinterface that includes the media player. For example, the media viewercan make such a determination based on a start point of the swipegesture. If the start point of the swipe gesture is within the mediaplayer (e.g., the portion of the UI displaying the video item), then theswipe gesture is determined to be within the media player. Responsive todetermining that the swipe gesture is within the portion of the userinterface that includes the media player, the media viewer can determineif the swipe gesture is a swipe right gesture or swipe left gesture. Ifthe swipe gesture is a swipe right gesture, the media viewer can forwardthe video a predetermined amount of time, such as 10 seconds. If theswipe gesture is a swipe left gesture, the user interface can rewind thevideo a predetermined amount of time, such as 10 seconds.

Alternatively, if the start point of the swipe gesture is not within theportion of the user interface that includes the media player, the mediaviewer can determine that the swipe gesture is not within the portion ofthe user interface that includes the media player. The media viewer canthen determine if the swipe gesture is a swipe right gesture or swipeleft gesture starting on an edge portion of the UI. An edge portion canrefer to a user interface portion that is adjacent (e.g., right or left)to the media player. If the media viewer determines that the user made aswipe left gesture at the edge portion of the UI, the media viewer canprovide a next video item for playback, such as the next video item in aplaylist or a related video item. If the media viewer determines thatthe user made a swipe right gesture at the edge portion of the UI, themedia viewer can provide a previous video item for playback, such as aprevious video item in the playlist or a previously played video item.

Accordingly, aspects of the present disclosure allow users to swipe leftor right on the video surface to easily move through the video timelineby a desired amount. As compared to the precise action of grabbing thescrubber to move it to a precise point in the video, the above swipinggestures provided by the aspects of the present disclosure significantlysimplify user interaction with videos, especially with smaller-sizedvideos such as videos shown in portrait mode.

FIG. 1A is a block diagram illustrating a system architecture 100,according to an implementation. The system architecture 100 includes auser device 102 (e.g., a mobile device) in communication with a serversystem 104 over a network 106. The network 106 may include one or morecomputer devices, such as one or more of the computer devices that makeup the Internet. In one implementation, network 106 may include a publicnetwork (e.g., the Internet), a private network (e.g., a local areanetwork (LAN) or wide area network (WAN)), a wired network (e.g.,Ethernet network), a wireless network (e.g., an 802.11 network or aWi-Fi network), a cellular network (e.g., a Long Term Evolution (LTE)network), routers, hubs, switches, server computers, and/or acombination thereof.

In one implementation, the server system 104 may be one or morecomputing devices (e.g., a rackmount server, a server computer, etc.).In one implementation, the server system 104 may be included in thecontent sharing platform 126, as illustrated in FIG. 1B.

The user device 102 may be an electronic device that includes aprocessing device and touchscreen. For example, user device 102 mayinclude a desktop computer, a mobile device, etc. A mobile device may,for example, be a tablet computer device, a mobile phone, a phablet, orother portable electronic device with a touchscreen.

The user device 102 may present a user interface 108 a rendered by amedia viewer (not shown), which can be a web browser or an application,(e.g., mobile application or mobile app) associated with the serversystem 104.

In one implementation, the media viewer may be an application thatallows users to view content, such as images, videos (e.g., paid videocontent), web pages, documents, etc. For example, the media viewer maybe a web browser that can access, retrieve, present, and/or navigatecontent (e.g., web pages such as Hyper Text Markup Language (HTML)pages, digital media items or content items, etc.) served by a webserver. The media viewer may render, display, and/or present the content(e.g., a web page, a media viewer) to a user in the user interface 108a. The media viewer may also display an embedded media player (e.g., aFlash® player or an HTML5 player) that is embedded in a web page (e.g.,a web page that may provide information about a product sold by anonline merchant) rendered as the user interface 108 a. In anotherexample, the media viewer may be a standalone application (a mobileapplication or mobile app) that presents the user interface 108 aallowing users to view digital media items (e.g., digital videos,digital images, electronic books, etc.). Additional details of someimplementations of the media viewer are discussed in reference to atleast FIGS. 2-4.

The server system 104 provides content (i.e., media items), such asvideo item 108 d and a list of video items 108 b that may include videoitem 108 d, to the user device 102. A video item may include multiplepictures (e.g., frames) presented in a timed sequence to depict movingvisual images. A video item may include an electronic file that can beexecuted or loaded using software, firmware or hardware configured topresent the video item to a user. In one implementation, a video item isa full-frame rate video displayed at or greater than 24 frames persecond. The description of content as video items is used for purposesof illustration rather than limitation. It should be appreciated thatother content, such as audio items, may be presented by the userinterface 108 a.

The server system 104 may provide the list of video items 108 b to theuser device 102. The server system 104 may also provide a web page or aUI document to be rendered as the user interface 108 a of the mediaviewer for presenting a list of video items 108 b. A list of video items108 b may include multiple video items. In one example, the serversystem 104 may provide the list of video items 108 b to the user device102 in response to receiving a search request from the user device 102for videos related to one or more search terms. The server system 104may include or have access to an index of video items and correspondingvideo item information. The server system 104 may identify one or morevideos for inclusion in the list of video items 108 b that areresponsive to the search request based on a search of the index.

Alternatively, the list of video items 108 b may be a playlist or feedof related video items provided by the server system 104 or the serversystem 104 may automatically suggest the video items in the list ofvideo items 108 b. In some implementations, the server system 104ensures that a list of video items is provided to the user device 102,such as by performing a search for video items, retrieving video itemsassociated with a playlist, retrieving video items associated with afeed for a channel, or retrieving video items suggested to a user. Forexample, a user of the user device 102 may input a search for videoitems, select a playlist of video items, or select a channel of videoitems. The server system 104 then provides the list of video items 108 bto the user device 102 in response to the search input, theplaylist/channel selection, or automatically as a suggestion.

The user device 102 receives the list of video items 108 b and presentsthe list of video items 108 b to the user within the user interface 108a of the media viewer. The user device 102 may receive a user input inthe user interface 108 a selecting a video item 108 d. In response, theuser device 102 then sends a request 108 c for the video item 108 d tothe server system 104 or another system if the video item is hosted by asystem that is separate from the server system 104. The server system104, or the separate video hosting system, then provides the video item108 d to the user device 102 for presentation in the user interface 108a of the media viewer.

The media viewer may monitor the touchscreen of the user device 102 forswipe gestures made by a user of the user device 102. Upon detecting aswipe gesture of the user, the media viewer can determine whether theswipe gesture is within a portion of the user interface 108 a thatincludes the media player 132 (e.g., a swipe gesture by touch object114). Responsive to determining that the swipe gesture is within theportion of the user interface 108 a that includes the media player 132,the media viewer can determine if the swipe gesture is a swipe rightgesture or swipe left gesture. If the swipe gesture is a swipe rightgesture, the media viewer can forward the video a predetermined amountof time, such as 10 seconds. If the swipe gesture is a swipe leftgesture, the user interface can rewind the video a predetermined amountof time, such as 10 seconds.

If the swipe gesture is outside the portion of the user interface 108 athat includes the media player 132 (not shown), the media viewer canthen determine if the swipe gestures is a swipe right gesture or swipeleft gesture starting on an edge portion of the UI 108 a. If the mediaviewer determines that the user made a swipe left gesture at the edgeportion of the UI 108 a, the media viewer can provide a next video itemfor playback, such as the next video item in the list 108 b. If themedia viewer determines that the user made a swipe right gesture at theedge portion of the UI 108 a, the media viewer can provide a previousvideo item for playback, such as a previous video item from the list 108b or a previously played video item.

FIG. 1B is a block diagram illustrating a system architecture 120 thatincludes a content sharing platform 126 for providing video items. Thecontent sharing platform 126 is in communication with multiple mobiledevices 122 a-z, a data store 124, and a server system 104 over anetwork 106. In one implementation, the data store 124 may be a memory(e.g., random access memory), a cache, a drive (e.g., a hard drive), aflash drive, a database system, or another type of component or devicecapable of storing data. The data store 124 may also include multiplestorage components (e.g., multiple drives or multiple databases) thatmay also span multiple computing devices (e.g., multiple servercomputers).

The mobile devices 122 a-z may be similar to user device 102 asdescribed with respect to FIG. 1A. Each of the mobile devices 122 a-zincludes a media viewer providing a user interface 108 a with a mediaplayer 132. The user interface 108 a and/or media player 132 may beprovided to the mobile devices 122 a-z by the server system 104 and/orthe content sharing platform 126. For example, the media player 132 maybe an embedded media player that is embedded in user interface 108 aprovided by the content sharing platform 126.

In general, functions described in one implementation as being performedby the content sharing platform 126 can also be performed on the mobiledevices 122 a-z in other implementations, if appropriate. In addition,the functionality attributed to a particular component can be performedby different or multiple components operating together. The contentsharing platform 126 can also be accessed as a service provided to othersystems or devices through appropriate application programminginterfaces, and thus is not limited to use in websites.

In one implementation, the content sharing platform 126 may be one ormore computing devices (such as a rackmount server, a router computer, aserver computer, a personal computer, a mainframe computer, a laptopcomputer, a tablet computer, a network connected television, a desktopcomputer, etc.), data stores (e.g., hard disks, memories, databases),networks, software components, and/or hardware components that may beused to provide a user with access to content and/or provide the contentto the user. For example, the content sharing platform 126 may allow auser to consume, upload, search for, approve of (“like”), dislike,and/or comment on content, such as video items. The content sharingplatform 126 may also include a website (e.g., a webpage) or provide auser interface 108 a of a mobile application that may be used to providea user with access to the content.

In implementations of the disclosure, a “user” may be represented as asingle individual. However, other implementations of the disclosureencompass a “user” being an entity controlled by a set of users and/oran automated source. For example, a set of individual users federated asa community in a social network may be considered a “user.” In anotherexample, an automated consumer may be an automated ingestion pipeline,such as a topic channel, of the content sharing platform 126.

The content sharing platform 126 may include multiple channels 134 a-z.A channel may include content (or video items) available from a commonsource or content having a common topic, theme, or substance. Thecontent can be digital content chosen by a user, digital content madeavailable by a user, digital content uploaded by a user, digital contentchosen by a content provider, digital content chosen by a broadcaster,etc. A channel may be associated with an owner, who is a user that canperform actions on the channel. Different activities may be associatedwith the channel based on the owner's actions, such as the owner makingdigital content available on the channel, the owner selecting (e.g.,liking) digital content associated with another channel, the ownercommenting on digital content associated with another channel, etc. Theactivities associated with the channel may be collected into an activityfeed for the channel. Users, other than the owner of the channel, cansubscribe to one or more channels in which they are interested. Theconcept of “subscribing” may also be referred to as “liking”,“following”, “friending”, and so on.

Once a user subscribes to a channel, the user may be presented withinformation from the channel's activity feed. If a user subscribes tomultiple channels, the activity feed for each channel to which the useris subscribed can be combined into a syndicated activity feed.Information from the syndicated activity feed can be presented to theuser. Channels may have their own feeds. For example, when navigating toa home page of the channel 134 a on the content sharing platform 126,feed items produced by the channel 134 a may be shown on the channelhome page. Users may have a syndicated feed, which is a feed comprisedof at least a subset of the content items from all of the channels towhich the user is subscribed. Syndicated feeds may also include contentitems from channels that the user is not subscribed. For example, thecontent sharing platform 126 or other social networks may insertrecommended content items into the user's syndicated feed, or may insertcontent items associated with a related connection of the user in thesyndicated feed.

Each of the channels 134 a-z can include one or more video items. Forexample channel 134 a includes video items 136 a-z and channel 134 zincludes video items 137 a-z. Content included in channels 134 a-z mayinclude, and are not limited to, digital video, digital movies, digitalphotos, digital music, website content, social media updates, electronicbooks (ebooks), electronic magazines, digital newspapers, digital audiobooks, electronic journals, web blogs, real simple syndication (RSS)feeds, electronic comic books, software applications, video times, etc.The video items 136 a-z may be consumed via the Internet and/or via amobile device application. In one implementation, the content sharingplatform 126 may store the video items 136 a-z in the data store 124.

In one implementation, the server system 104 may be included in thecontent sharing platform 126 or be part of a different system. Theserver system 104 may be or include the server system 104 which mayprovide the user interface 108 a to the media viewer of the mobiledevices 122 a-z. Each of the mobile devices 122 a-z may include aprocessing device, a memory, a touchscreen, and a media viewer thatprovides a user interface 108 including a media player 132.

As discussed above, the media viewer may monitor the touchscreen of theuser device 102 for swipe gestures made by a user of the user device102. For example touch object 114 may make a swipe right or swipe leftgesture. The use of swipe gestures discussed herein allows users toeasily move to desired points in a video item, even when the video itemis a smaller-sized video such as a video shown on mobile device 122 inportrait mode.

Although implementations of the disclosure are discussed in terms ofcontent sharing platforms, implementations may also be generally appliedto any type of social network providing connections between users.Implementations of the disclosure are also not limited to contentsharing platforms that provide channel subscriptions to users.

In situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether the contentsharing platform 126 collects user information (e.g., information abouta user's social network, social actions or activities, profession, auser's preferences, a user's purchase transaction history, or a user'scurrent location), or to control whether and/or how to receive contentfrom the content server that may be more relevant to the user. Inaddition, certain data may be treated in one or more ways before it isstored or used, so that personally identifiable information is removed.For example, a user's identity may be treated so that no personallyidentifiable information can be determined for the user, or a user'sgeographic location may be generalized where location information isobtained (such as to a city, ZIP code, or state level), so that aparticular location of a user cannot be determined. Thus, the user mayhave control over how information is collected about the user and usedby the content sharing platform 126.

FIG. 2 illustrates an example user interface 108 a presented on mobiledevice 200, in accordance with an implementation of the disclosure.Mobile device 200 may be similar to the mobile devices described withrespect to FIGS. 1A-1B. Mobile device 200 includes a touchscreendisplaying user interface 108 a of a media viewer. User interface 108 aincludes media player 132. User interface 108 a may present playlist212, which can be defined as a collection of one or more video itemsfrom users of the content sharing platform 126 that can be viewed insequential or shuffled order without interaction from the viewer.

A viewing user can interact with the touchscreen of the mobile device200 using a touch object 214. Touch object 214 may be any touch objectsuch as a finger, a passive stylus, an active stylus, or the like. Inone implementation, touch object 215 is a passive touch object. Apassive touch object may be a conductive object that lacks a powersource, such as a finger and passive stylus, capable of conducting anelectric signal.

Media player 132 includes scrubber 210 and control elements 206 and 208.The scrubber 210 is a UI element that allows a user to scrub through avideo by using the touch object 214. Control elements 206 and 208 are UIelements in the form of buttons, icons, etc. that allow a user movebetween media items in the list of media items. For example, button 206,when activated by a touch from touch object 214, causes the userinterface 108 a to navigate to a next video item in playlist 212, to anext related video item related to the video item 108 d currentlydisplayed on media player 132, etc. In another example, button 208 whenactivated by a touch from touch object 214, causes the user interface108 a to display a previous video item. A previous video item may referto a video item the user has already viewed or a previous video item ona list, such as playlist 212.

Swipe left gesture 216 illustrates a touch gesture that is within theportion of user interface 108 a that includes media player 132. Startpoint 220 of swipe left gesture 216 is on the surface of the touchscreendisplaying the video item 108 d (i.e., within a portion of userinterface 108 a displaying video item 108 d). A swipe left gesture 216with start point 220 within media player 132 may cause media player 132to rewind the video item 108 d a predetermined amount of time regardlessof the length of the touch gesture, an interaction with scrubber 210, orthe length of the touch gesture. In one example, swipe left gesture 216may cause media player 132 to rewind the video item 108 d 10 seconds.

Swipe right gesture 218 also illustrates a touch gesture that is withinthe portion of user interface 108 a that includes media player 132.Start point 220 of swipe right gesture 218 is on the surface of thetouchscreen displaying the video item 108 d. A swipe right gesture 218with start point 220 within media player 132 may cause media player 132to forward the video a predetermined amount of time regardless of thelength of the touch gesture and regardless of an interaction withscrubber 210. In one example, swipe right gesture 218 may cause mediaplayer 132 to rewind the video item 108 d 10 seconds.

Swipe left gesture 216 and swipe right gesture with a start point 220within the media player 132 may be part of the first set ofpredetermined touch gestures. It should be appreciated that right andleft are relative terms. A video item 108 d may be described as havingan x-axis (horizontal) and y-axis (vertical), where right is a positivedirection along the x-axis and left is a negative direction along they-axis. A swipe right gesture may be a touch gesture that moves inpositive direction (e.g., from a start point to an end point) along thex-axis. A swipe left gesture may be a touch gesture that moves innegative direction (e.g., from a start point to an end point) along thex-axis.

In one implementation, the media viewer executed by a processing device(not shown) of mobile device 200 may receive a video item 108 d fromserver system 104, as illustrated in FIGS. 1A-1B. The media viewerprovides video item 108 d for playback in media player 132.

The media viewer monitors user input to the touchscreen of mobile device200 for a touch gesture. The media viewer may monitor the scanning ofthe touchscreen displaying user interface 108 a. The mobile device 200may be scanning the touchscreen to detect a touch gesture made by theuser of mobile device 200. For example, mobile device 200 may scan forchanges in capacitance on a capacitive touchscreen to detect a touchgesture proximate the capacitive touchscreen.

The media viewer may receive an indication of a touch gesture made bythe user. In one example, the mobile device 200 may provide atouchscreen API to the media viewer to enable touch gesture recognitionby the media viewer. The touchscreen API may translate touch gesturesmade by the user on the touchscreen of the mobile device 200 intoindications (e.g., data signals such as measurement values, locationdata, start point data, end point data, etc.) that are understandable tothe media viewer.

The media viewer determines (e.g., using the above indication) whetherthe touch gesture is within the portion of the user interface 108 a thatincludes media player 132. User interface 108 a determines if a startpoint of the touch gestures (e.g., where on the touchscreen the touchgesture started) is within the media player 132 or outside the mediaplayer. In one implementation, the location within the media player 132may refer to the area of user interface 108 a displaying the video item108 d. In another implementation, the location within the media player132 may refer to the area of user interface 108 a displaying the videoitem 108 d as well as some or all of the media player 132 itself (e.g.,frame of media player, buttons of media player, etc.).

It should be appreciated that determining if a start point 220 of thetouch gesture is within media player 132 may be accomplished in variousways. For example in another implementation, the media player 132 may belogically divided into three sections, such as a left section, a middlesection, and a right section. A start point 220 of the touch gesturethat is within media player 132 may be a touch gesture that starts inthe middle section of media player 132.

If the media viewer determines that the start point of the touch gestureis within the portion of the user interface 108 a that includes themedia player, the media viewer decides if the touch gesture correspondsto one of a first set of predetermined touch gestures. The first set ofpredetermined touch gestures may include swipe right gesture 218 andswipe left gesture 216 with a start point 220 on the portion of the userinterface 108 a displaying video item 108 d.

If the media viewer determines that the touch gesture corresponds to thefirst set of predetermined touch gestures, the media viewer moves theplayback of the video item 108 d form a first point in time to a secondpoint in time by a predetermined amount of time. For example, if themedia viewer determines the touch gesture is swipe right gesture 218,the media viewer may forward video item 108 d from a current playbacktime of 2:00 minute (min) to 2:10 min, where 10 seconds is thepredetermined amount of time. In another example, if the media viewerdetermines the touch gesture is swipe left gesture 216, the media viewermay rewind video item 108 d from a current playback time of 2:00 min to1:50 min, where 10 seconds is the predetermined amount of time. Itshould be noted that the moving of the playback time of the video item108 d may occur if media player 132 is playing video item 108 d or ifmedia player 132 is pausing video item 108 d.

In one implementation, a predetermined amount of time is a single fixedtime for different video items and independent of the length of a videoitem 108 d. For example, all the video items of playlist 212, whendisplayed using media player 132, may be forwarded or rewound by 10seconds in response to determining a swipe right gesture 218 or a swipeleft gesture 216, respectively. An administrator, developer, or user mayselect the predetermined amount of time. For purposes of illustration,and not for limitation, a predetermined time of 10 seconds has beendescribed. It should be appreciated the any length of time may be usedfor the predetermined amount of time, such as 5 seconds, 15 seconds, 30seconds, 1 minute, etc.

In another implementation, the predetermined amount of time may dependon the length of video item 108 d. For example, if video item 108 d is3:00 min in total length, rewinding or forwarding the video by 10seconds may be appropriate. However, if video item 108 d is 3 hours(hr), rewinding or forwarding the video by 10 seconds may have fewerbenefits to a user. The length of the video item may be the playtime ofthe video item. User interface 108 a may determine the length of videoitem 108 d by, for example, examining the metadata of video item 108 d.

The media viewer may compare the length of video item 108 d to athreshold length. The threshold length may, for example, be 5 minutes.If the length of video item 108 d satisfies a first threshold condition(e.g., it is less than the threshold length of 5 minutes), the mediaviewer sets the predetermined amount of time to a first amount of time,for example 10 seconds. If the length of video item 108 d satisfies asecond threshold condition (e.g., it is greater than or equal to thethreshold length of 5 min), the media viewer sets the predeterminedamount of time to a second amount of time, for example 30 seconds. Itshould be appreciated that the threshold length may any amount of timeand be determined by an administrator, developer, or user. It shouldalso be appreciated that one or more threshold lengths may be used. Forexample, in addition to a threshold length of 5 minutes as describedabove, an additional threshold length of 1 hour may be used. If thelength of video item 108 d is less than the threshold length of 5minutes, the media viewer sets the predetermined amount of time to afirst amount of time, such as 10 seconds. If the length of video item108 d is greater than or equal to the threshold length of 5 minutes, butless than 1 hour, the media viewer sets the predetermined amount of timeto a second amount of time of 30 seconds. If the length of video item108 d is greater than or equal to the threshold length of 1 hour, themedia viewer sets the predetermined amount of time to third amount oftime, such as 1 minute.

In another implementation, a user may make a swipe left gesture 216multiple times in successive order. In response, the media viewer mayrewind the video item 108 d item a predetermined amount for each swipeleft gesture 216. For example, if a user makes a swipe left gesture 216five times in a row, the media viewer will rewind the video item 108 dfive times at 10 seconds each, for a total of 50 seconds. Similarly, ifa user makes swipe right gesture 218 multiple times in successive order,the media viewer may forward the video item 108 d a predetermined amountfor each swipe right gesture 218.

FIG. 3 is an example user interface 108 a presented on user device 300,in accordance with another implementation of the disclosure. Mobiledevice 300 may be similar to the mobile devices described with respectto FIG. 1A-1B. User interface 108 a of mobile device 300 illustratestouch gestures, e.g., swipe right gesture 318 and swipe left gesture316, that are not within the portion of user interface 108 a thatincludes media player 132. Swipe right gesture 318 is a touch gesturethat starts at start point 320 that is outside media player 132 andlocated within edge portion 340. Swipe left gesture 316 is a touchgesture that starts at start point 320 that is outside media player 132and located within edge portion 341. In one implementation, edge portion340 and edge portion 341 may include a portion of user interface 108 adirectly to the left and right, respectively, of video item 108 d (e.g.,the portion of the user interface 108 a directly adjacent to the leftand right, respectively, of video item 108 d). In anotherimplementation, edge portion 340 and edge portion 341 may include aportion of user interface 108 a directly to the left or right,respectively, of media player 132 (e.g., includes some or all the frameand buttons of media player 132 as well as video item 108 d).

In one implementation, in response to media viewer determining that thetouch gesture is not within the portion of the user interface 108 a thatincludes the media player, the media viewer determines that the touchgesture corresponds to a second set of predetermined touch gestures. Inone example, the second set of predetermined touch gestures includesswipe left gesture 316 and swipe right gesture 318. If the media viewerdetermines that the touch gesture corresponds to swipe left gesture 316or swipe right gesture 318, the media viewer navigates to another videoitem. As described above, swipe right gesture 318 and swipe left gesture316 are touch gestures that start on edge portion 340 and edge portion341, respectively.

If the media viewer determines the touch gesture is swipe left gesture316, the media viewer will proceed to the next video item. If the mediaviewer determines the touch gesture is a swipe right gesture 318, userinterface 108 a will proceed to a prior video item.

FIG. 4 is a flow diagram illustrating a method of touch gesture controlof video playback, in accordance to some implementation of thedisclosure. Method 400 may be performed by processing logic thatcomprises hardware (e.g., circuitry, dedicated logic, programmablelogic, microcode), software (e.g., instructions run on a processingdevice to perform hardware simulation), or a combination thereof. In oneimplementation, user interface 108 a operating on a mobile device oruser interface 108 a operating on a server system 104 may perform someor all the operations described herein.

Method 400 begins at block 405 where processing logic performing themethod provides video item 108 d for playback in a portion of userinterface 108 a of an application (media viewer) executing on a userdevice 102. At block 410, processing logic monitors user input to atouchscreen of the user device 102 for a touch gesture. At block 415,processing logic receives an indication of a touch gesture made by auser of the user device 102. At block 420, processing logic determineswither the touch gesture is within the portion of the user interface 108a including a media player 132.

Processing logic moves to block 420 if processing logic determines thetouch gesture is within a portion of the user interface 108 a thatincludes media player 132. At block 425, processing logic determines ifthe touch gesture corresponds to a first set of predetermined touchgestures (e.g., swipe left gesture 216 or swipe right gesture 218 ofFIG. 2). If the touch gesture does not correspond to the first set ofpredetermined touch gestures, processing logic returns to block 410 tomonitor for user input of a touch gesture. If the touch gesturecorresponds to the first set of predetermined touch gestures, processinglogic proceeds to block 430 and moves playback of video item 108 d froma first point in time to a second point in time by a predeterminedamount of time. For example, if processing logic determines the touchgesture is a swipe left gesture 216, processing logic may forward videoitem 108 d 10 seconds. If processing logic determines the touch gestureis swipe right gesture 218, processing logic may rewind the video item108 d 10 seconds.

Processing logic moves to block 435 if processing logic determines thetouch gesture is not within a portion of the user interface 108 a thatincludes the media player 132. At block 435, processing logic determinesif the touch gesture corresponds to a second set of predetermined touchgestures (e.g., swipe right gesture 318 and swipe left gesture 316 ofFIG. 3). If the touch gesture does not correspond to the second set ofpredetermined touch gestures, processing logic returns to block 410 tomonitor for user input of a touch gesture. If the touch gesture doescorrespond to the second set of predetermined touch gestures, processinglogic proceeds to block 440 to navigate to another video item. Ifprocessing logic determines the touch gesture is a swipe left gesture316, processing logic proceeds to the next video item. If processinglogic determines the touch gesture is a swipe right gesture 318,processing logic returns to a prior video item.

In an alternative implementation, after block 410 processing logicdetermines whether the touch gesture is a swipe gesture within theportion of the UI including the media player. If processing logicdetermines the touch gesture is a swipe gesture within the portion ofthe UI comprising the media player, moves the playback of the video itemfrom a first point in time to a second point in time by a predeterminedamount of time. If processing logic determines that the touch gesture isa swipe gesture not within the portion of the UI comprising the mediaplayer, processing logic navigates to another video item.

For simplicity of explanation, the processes of this disclosure aredepicted and described as a series of acts. However, acts in accordancewith this disclosure can occur in various orders and/or concurrently,and with other acts not presented and described herein. Furthermore, notall illustrated acts may be required to implement the processes inaccordance with the disclosed subject matter. In addition, those skilledin the art will understand and appreciate that the processes couldalternatively be represented as a series of interrelated states via astate diagram or events. Additionally, it should be appreciated that theprocesses disclosed in this specification are capable of being stored onan article of manufacture to facilitate transporting and transferringsuch processes to computing devices. The term “article of manufacture,”as used herein, is intended to encompass a computer program accessiblefrom a computer-readable device or storage media.

FIG. 5 is a block diagram illustrating an exemplary computer system 500.The computer system 500 executes one or more sets of instructions thatcause the machine to perform any one or more of the methodologiesdiscussed herein. Set of instructions, instructions, and the like mayrefer to instructions that, when executed computer system 500, causecomputer system 500 to perform one or more operations of user interface108 a. The machine may operate in the capacity of a server or a clientmachine in client-server network environment, or as a peer machine in apeer-to-peer (or distributed) network environment. The machine may be apersonal computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile telephone, a web appliance, a server,a network router, switch or bridge, or any machine capable of executinga set of instructions (sequential or otherwise) that specify actions tobe taken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute the sets ofinstructions to perform any one or more of the methodologies discussedherein.

The computer system 500 includes a processing device 502, a main memory504 (e.g., read-only memory (ROM), flash memory, dynamic random accessmemory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM),etc.), a static memory 506 (e.g., flash memory, static random accessmemory (SRAM), etc.), and a data storage device 516, which communicatewith each other via a bus 508.

The processing device 502 represents one or more general-purposeprocessing devices such as a microprocessor, central processing unit, orthe like. More particularly, the processing device 502 may be a complexinstruction set computing (CISC) microprocessor, reduced instruction setcomputing (RISC) microprocessor, very long instruction word (VLIW)microprocessor, or a processing device implementing other instructionsets or processing devices implementing a combination of instructionsets. The processing device 502 may also be one or more special-purposeprocessing devices such as an application specific integrated circuit(ASIC), a field programmable gate array (FPGA), a digital signalprocessor (DSP), network processor, or the like. The processing device502 is configured to execute instructions of the system architecture 100and the user interface 108 a for performing the operations and stepsdiscussed herein.

The computer system 500 may further include a network interface device522 that provides communication with other machines over a network 518,such as a local area network (LAN), an intranet, an extranet, or theInternet. The computer system 500 also may include a display device 510(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), analphanumeric input device 512 (e.g., a keyboard), a cursor controldevice 514 (e.g., a mouse), and a signal generation device 520 (e.g., aspeaker).

The data storage device 516 may include a non-transitorycomputer-readable storage medium 524 on which is stored the sets ofinstructions of the system architecture 100, the system architecture120, and the user interface 108 a embodying any one or more of themethodologies or functions described herein. The sets of instructions ofthe system architecture 100, the system architecture 120, and the userinterface 108 a may also reside, completely or at least partially,within the main memory 504 and/or within the processing device 502during execution thereof by the computer system 500, the main memory 504and the processing device 502 also constituting computer-readablestorage media. The sets of instructions may further be transmitted orreceived over the network 518 via the network interface device 522.

While the example of the computer-readable storage medium 524 is shownas a single medium, the term “computer-readable storage medium” caninclude a single medium or multiple media (e.g., a centralized ordistributed database, and/or associated caches and servers) that storethe sets of instructions. The term “computer-readable storage medium”can include any medium that is capable of storing, encoding or carryinga set of instructions for execution by the machine and that cause themachine to perform any one or more of the methodologies of the presentdisclosure. The term “computer-readable storage medium” can include, butnot be limited to, solid-state memories, optical media, and magneticmedia.

In the foregoing description, numerous details are set forth. It will beapparent, however, to one of ordinary skill in the art having thebenefit of this disclosure, that the present disclosure may be practicedwithout these specific details. In some instances, well-known structuresand devices are shown in block diagram form, rather than in detail, inorder to avoid obscuring the present disclosure.

Some portions of the detailed description have been presented in termsof algorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise, it is appreciated that throughout thedescription, discussions utilizing terms such as “receiving”,“providing”, “determining”, “moving”, “forwarding”, “rewinding”,“setting”, “monitoring”, “navigating”, “proceeding”, or the like, referto the actions and processes of a computer system, or similar electroniccomputing device, that manipulates and transforms data represented asphysical (e.g., electronic) quantities within the computer systemmemories or registers into other data similarly represented as physicalquantities within the computer system memories or registers or othersuch information storage, transmission or display devices.

The present disclosure also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding a floppy disk, an optical disk, a compact disc read-onlymemory (CD-ROM), a magnetic-optical disk, a read-only memory (ROM), arandom access memory (RAM), an erasable programmable read-only memory(EPROM), an electrically erasable programmable read-only memory(EEPROM), a magnetic or optical card, or any type of media suitable forstoring electronic instructions.

The words “example” or “exemplary” are used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “example” or “exemplary” is not necessarily to be construed aspreferred or advantageous over other aspects or designs. Rather, use ofthe words “example” or “exemplary” is intended to present concepts in aconcrete fashion. As used in this application, the term “or” is intendedto mean an inclusive “or” rather than an exclusive “or.” That is, unlessspecified otherwise, or clear from context, “X includes A or B” isintended to mean any of the natural inclusive permutations. That is, ifX includes A; X includes B; or X includes both A and B, then “X includesA or B” is satisfied under any of the foregoing instances. In addition,the articles “a” and “an” as used in this application and the appendedclaims should generally be construed to mean “one or more” unlessspecified otherwise or clear from context to be directed to a singularform. Moreover, use of the term “an embodiment” or “one embodiment” or“an implementation” or “one implementation” throughout is not intendedto mean the same embodiment or implementation unless described as such.The terms “first,” “second,” “third,” “fourth,” etc. as used herein aremeant as labels to distinguish among different elements and may notnecessarily have an ordinal meaning according to their numericaldesignation.

It is to be understood that the above description is intended to beillustrative, and not restrictive. Other implementations will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the disclosure should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. A method, comprising: providing, by a processingdevice, a video item for playback; receiving an indication of a touchgesture made by a user with respect to a touchscreen of a user device;determining whether the touch gesture with respect to the touchscreen ofthe user device qualifies as a swipe gesture that corresponds to astraight line in a particular direction that at least starts within aportion of a user interface (UI) comprising a media player to play thevideo item, wherein another portion of the UI that is outside theportion of the UI comprising the media player is located at a side of orbelow the portion of the UI comprising the media player; and in responseto determining the touch gesture with respect to the touchscreen of theuser device qualifies as the swipe gesture that corresponds to thestraight line in the particular direction that at least starts withinthe portion of the UI comprising the media player, moving the playbackof the video item from a first point in time to a second point in timeby a predetermined amount of time irrespective of a length of thequalified touch gesture that at least starts within the portion of theUI comprising the media player and without additional user input toselect the second point in time for the playback of the video item,wherein the predetermined amount of time for moving the playback of thevideo is a same fixed time for any video items, independent of a lengthof the any video items, and independent of a user selection of thepredetermined amount of time.
 2. The method of claim 1, whereindetermining whether the touch gesture with respect to the touchscreen ofthe user device qualifies as the swipe gesture comprises: determiningthat the touch gesture is the swipe gesture; and determining whether astart point of the swipe gesture is located within the media player. 3.The method of claim 1, wherein determining whether the touch gesturewith respect to the touchscreen of the user device qualifies as theswipe gesture comprises: determining the touch gesture corresponds to aswipe right gesture or a swipe left gesture starting within the portionof the UI displaying video item.
 4. The method of claim 1, whereinmoving the playback of the video item from the first point in time tothe second point in time by the predetermined amount of time comprises:forwarding the video item the predetermined amount of time in responseto a swipe right gesture; and rewinding the video item the predeterminedamount of time in response to a swipe left gesture.
 5. The method ofclaim 1, wherein the media player comprises a scrubber to forward orrewind the video item.
 6. The method of claim 1, wherein the video itemis a full-frame rate video displayed at or greater than 24 frames persecond.
 7. The method of claim 1, further comprising: monitoring userinput to a touchscreen of the user device for the touch gesture bymonitoring a scanning of the touchscreen displaying the UI, the scanningto detect the touch gesture made by the user of the user device.
 8. Themethod of claim 1, further comprising: determining that the touchgesture is a swipe gesture that starts in a portion of the UI that doesnot include the media player and ends within the portion of the UIcomprising the media player; and navigating to another video item inresponse to determining the touch gesture is the swipe gesture thatstarts in the portion of the UI that does not include the media playerand ends within the portion of the UI comprising the media player. 9.The method of claim 8, wherein determining that the touch gesture is theswipe gesture that starts in a portion of the UI that does not includethe media player and ends within the portion of the UI comprising themedia player comprises: determining the touch gesture corresponds to aswipe right gesture or a swipe left gesture starting on an edge portionof the UI, wherein the edge portion is adjacent to and located outsidethe media player.
 10. The method of claim 8, wherein navigating toanother video item comprises: proceeding to a next video item inresponse to a swipe left gesture starting on an edge portion of the UI;and proceeding to a prior video item in in response to a swipe rightgesture starting on the edge portion of the UI.
 11. A non-transitorycomputer-readable medium storing instructions that, responsive toexecution by a processing device, cause the processing device to performoperations comprising: providing, by the processing device, a video itemfor playback; receiving an indication of a touch gesture made by a userwith respect to a touchscreen of a user device; determining whether thetouch gesture with respect to the touchscreen of the user devicequalifies as a swipe gesture that corresponds to a straight line in aparticular direction that at least starts within a portion of a userinterface (UI) comprising a media player to play the video item, whereinanother portion of the UI that is outside the portion of the UIcomprising the media player is located at a side of or below the portionof the UI comprising the media player; and in response to determiningthe touch gesture with respect to a touchscreen of the user devicequalifies as the swipe gesture that corresponds to the straight line inthe particular direction that at least starts within the portion of theUI comprising the media player, moving the playback of the video itemfrom a first point in time to a second point in time by a predeterminedamount of time irrespective of a length of the qualified touch gesturethat at least starts within the portion of the UI comprising the mediaplayer and without additional user input to select the second point intime for the playback of the video item, wherein the predeterminedamount of time for moving the playback of the video is a same fixed timefor any video items, independent of a length of the any video items, andindependent of a user selection of the predetermined amount of time. 12.The non-transitory computer-readable medium of claim 11, the operationsfurther comprising: monitoring user input to a touchscreen of the userdevice for the touch gesture by monitoring a scanning of the touchscreendisplaying the UI, the scanning to detect the touch gesture made by theuser of the user device.
 13. The non-transitory computer-readable mediumof claim 11, further comprising: determining that the touch gesture is aswipe gesture that starts in a portion of the UI that does not includethe media player and ends within the portion of the UI comprising themedia player; and navigating to another video item in response todetermining the touch gesture is the swipe gesture that starts in theportion of the UI that does not include the media player and ends withinthe portion of the UI comprising the media player.
 14. Thenon-transitory computer-readable medium of claim 11, wherein moving theplayback of the video item from the first point in time to the secondpoint in time by the predetermined amount of time, the operationsfurther comprising: forwarding the video item the predetermined amountof time in response to a swipe right gesture; and rewinding the videoitem the predetermined amount of time in response to a swipe leftgesture.
 15. A system, comprising: a memory; and a processing device,coupled to the memory, to: provide a video item for playback; receive anindication of a touch gesture made by a user with respect to atouchscreen of a user device; determine whether the touch gesture withrespect to the touchscreen of the user device qualifies as a swipegesture that corresponds to a straight line in a particular directionthat at least starts within a portion of a user interface (UI)comprising a media player to play the video item, wherein anotherportion of the UI that is outside the portion of the UI comprising themedia player is located at a side of or below the portion of the UIcomprising the media player; and in response to determining the touchgesture with respect to the touchscreen of the user device qualifies asthe swipe gesture that corresponds to the straight line in theparticular direction that at least starts within the portion of the UIcomprising the media player, move the playback of the video item from afirst point in time to a second point in time by a predetermined amountof time irrespective of a length of the qualified touch gesture that atleast starts within the portion of the UI comprising the media playerand without additional user input to select the second point in time forthe playback of the video item, wherein the predetermined amount of timefor moving the playback of the video is a same fixed time for any videoitems, independent of a length of the any video items, and independentof a user selection of the predetermined amount of time.
 16. The systemof claim 15, the processing device further to: monitor user input to atouchscreen of the user device for the touch gesture by monitoring ascanning of the touchscreen displaying the UI, the scanning to detectthe touch gesture made by the user of the user device.
 17. The system ofclaim 15, the processing device further to: determine that the touchgesture is a swipe gesture that starts in a portion of the UI that doesnot include the media player and ends within the portion of the UIcomprising the media player; and navigate to another video item inresponse to determining the touch gesture is the swipe gesture thatstarts in a portion of the UI that does not include the media player andends within the portion of the UI comprising the media player.
 18. Thesystem of claim 15, wherein moving the playback of the video item fromthe first point in time to the second point in time by the predeterminedamount of time, the processing device further to: forward the video itemthe predetermined amount of time in response to a swipe right gesture;and rewind the video item the predetermined amount of time in responseto a swipe left gesture.